//
// Created by Hulytu on 2021/12/1.
//

#ifndef HIJACK_COMMON_H
#define HIJACK_COMMON_H

#include "obfuscate/obfuscate.h"

// start config : 自定义信息

// hmac-md5 的密钥
#define SIGN_KEY_STR  "N*DgUIHXzKyQwfKR2dalPDi%8Snq#8GU"

// 校验的包名
#define PACKAGE_NAME "com.newpos.scom"

// 检验的签名 public key 获取方式可使用 com.hulytu.android.hijack.Utils.getSignInfoNew 方式获取
#define SIGNATURE "9f3b782234a1e462ee145714b848c23b1210f996da6676a4c6c72bdf59f8f581b0e9d3ad8c9402cd82e17f528a979ecf63698ffe744ea3906391b86d58c2b1e86a1a11354acba5b263a812b119d0473338613134bd28a01569a728120232e86c4bd743c76641e09ce945503be5e48904b3b1d63333dfaa8d86d4a1bc757b89f47a234c6271341a702119177b6e377f90beeb35774a44784fb892a5e57472ba57a7c12c6a6197967f3cd22e21d55fabb3d61578e2bffa2301e95541012d9a9d3ad4fe08727f3da6d8e67e3a7b0569fbb2af8c60575761f1247bd599402146dcea6d144bd80d75c2612a9e425fd219e1f7578f4995f1a14344ad7a00d6072f9de5"

// 调试日志打印，正式版本可关闭
#define IS_LOGGABLE 1

// 开启混淆字符串功能
#define IS_ENCRYPT_STR 1

// 混淆android关键字字符串，如 getPackageName 等，进一步增加反编译难度，同时增加so体积 20K 左右
#define IS_ENCRYPT_SYSTEM_WORD 1

// end config

// 混淆字符串算法
#if IS_ENCRYPT_STR
#define ENCRYPT(str) AY_OBFUSCATE(str)
#else
#define ENCRYPT(str) str
#endif

// 混淆系统关键字算法
#if IS_ENCRYPT_SYSTEM_WORD
#define ENCRYPT_SYSTEM_WORD(str) AY_OBFUSCATE(str)
// 也可以自己定义 key
//#define ENCRYPT_SYSTEM_WORD(str) AY_OBFUSCATE_KEY(str,0x1024102410241024ULL)
#else
#define ENCRYPT_SYSTEM_WORD(str) str
#endif

#if IS_LOGGABLE
#define LOG_TAG    "Hijack-NDK"
#define LOG(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#else
#define LOG(...)
#endif


#endif //HIJACK_COMMON_H
